Aginity Proを利用してSnowflakeに接続してみた
こんにちは!DA(データアナリティクス)事業本部 インテグレーション部の大高です。
Snowflakeに接続を行うには、基本となるウェブブラウザ経由での接続や、CLIクライアントであるSnowSQL (CLI Client)の他に、下記のコネクターやドライバが提供されています。
- Snowflake Connector for Python
- Snowflake Connector for Spark
- Snowflake Connector for Kafka
- Node.js Driver
- Go Snowflake Driver
- .NET Driver
- JDBC Driver
- ODBC Driver
Connectors & Drivers — Snowflake Documentation
今回はJDBC Driverを利用するクライアントツール「Aginity Pro」を利用して、Snowflakeへの接続を試してみました。
前提条件
Java
JDBCを利用するので、Java(8以上)が必要となります。私はAmazon Correto 8をインストールしました。
Amazon Corretto(本番環境に対応したOpenJDKディストリビューション)| AWS
詳細な要件は下記ドキュメントを参照ください。
Java Requirements for the JDBC Driver — Snowflake Documentation
Snowflake
Snowflake側で接続可能なユーザが作成済みであるものとします。
Aginity Proとは?
Aginity Proは複数のデータプラットフォーム(データベース等)に対応したクライアントツールです。2020年1月現在では、以下に対応しています。
- Amazon Redshift
- Amazon RDS (PostgreSQL, SQL Server)
- Amazon Aurora (PostgreSQL)
- Snowflake
- Apache Hive
- Microsoft SQL Server
- Azure SQL Server
- Pivotal Greenplum
- Apache Spark
- Azure Data Warehouse
- PureData for Analytics
- IBM DB2
- PostgreSQL
(※名称は製品紹介ページに記載されている名称に合わせています)
また、よく利用するSQLのカタログ化などにも対応しています。詳細は下記ページを参照ください。
ダウンロードとインストール
今回はフリー版をダウンロード、インストールします。下記ページからダウンロードできます。なお、OSはWindows/Mac共に対応しています。
ダウンロード後は、インストーラの指示に従ってインストールするのみです。
接続設定
インストールが完了したら早速起動します。まずは「Connections」の右側の「+」ボタンから「Snowflake」を指定して接続設定を開きます。
JDBCドライバがまだインストールされていないので、「download them」のリンクからダウンロードするか、「edit drivers panel」から個別に設定します。今回試したところ、私の環境では「download them」でうまくダウンロードできなかったので「edit drivers panel」を開きました。
JDBCドライバのパネルでは、各JDBC毎にJDBCドライバの設定が出来るようです。
「JDBC Driver file(s)」の「Provided」を選択し「Select and download」をクリックするとダウンロード可能なバージョンリストが表示されダウンロードが可能なようです。
今回は手動で対応するので、まずはSnowflakeのサイトからJDBCドライバをダウンロードします。下記のリンク先のドキュメントに記載の通り、Mavenリポジトリからダウンロードします。
Downloading / Integrating the JDBC Driver — Snowflake Documentation
今回は2020/01/21時点で最新バージョンの「snowflake-jdbc-3.9.2.jar」をダウンロードしました。
Central Repository: net/snowflake/snowflake-jdbc/3.9.2
ダウンロードしたら、適宜適当なパスにファイルを配置して、Aginityの画面に戻ります。「Custom JDBC driver」を選択し、「Add file(s)」ボタンからjarファイルを指定しましょう。
リストに「snowflake-jdbc-3.9.2.jar」が表示されたら「Save changes」で保存します。
これでJDBCドライバの設定はできたので、あとはSnowflakeへの接続情報を指定するだけです。任意の「Connection name」を指定し、ホスト名やユーザアカウント情報なども指定して「Save」します。
試してみる
では、早速接続してみます。画面左側の作成した「CM_Snowflake」というConnectionをクリックして展開します。
すると、DB接続が行われて各種オブジェクトがツリー表示されます。ツリー表示だと分かり易いですね。
まずは「SNOWFLAKE_SAMPLE_DATA」のデータベースから「TPCH_SF1.CUSTOMER」テーブルを右クリックして、100件レコードを確認してみます。
うまくSELECTできました。画面上部には3つの情報がプルダウンで表示されており、それぞれ「Connection」、「Schema」、「Warehouse」が切り替えられるようになっています。
これで、クライアントツールからもSnowflakeが操作できるようになりました。
まとめ
以上、DBクライアントツール「Aginity Pro」でSnowflakeへの接続を試してみた結果でした。
どなたかのお役に立てば幸いです。それでは!